/* 自定义指令,用来校验是否有权限,展示按钮 */

import Vue from 'vue'

/**权限指令**/
/**
 * bind：只调用一次，指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
   inserted：被绑定元素插入父节点时调用 (仅保证父节点存在，但不一定已被插入文档中)。
 */
const has = Vue.directive('has', {
    inserted: function (el, binding, vnode) {
        // 获取页面按钮权限,根据页面传入的数据,和后台返回的权限比对,不存在则删除按钮
        console.log("是否有权限:",!Vue.prototype.$_has(binding.expression));
        if (!Vue.prototype.$_has(binding.expression)) {
            el.parentNode.removeChild(el);
        }
    }
});

// 权限检查方法
Vue.prototype.$_has = function (value) {
    let isExist = false;
    // 获取用户按钮权限
    let btnPermissionsStr = window.sessionStorage.getItem("btnPermission");
    console.log("btnPermissionsStr",btnPermissionsStr)
    if (btnPermissionsStr == "undefined" || btnPermissionsStr == "null") {
        console.log("进来了")
        return false;
    }
    let arr = JSON.parse(btnPermissionsStr);
    if(-1 != arr.indexOf(value)){
        return true;
    }
    return isExist;
};
export {has}



